In SS7 signaling networks, signaling connection control part (SCCP) is used by applications to access databases and other services. In particular, SCCP is used by the mobile application part (MAP) and the transaction capabilities application part (TCAP), as well as other level four protocols to communicate application level information. SCCP service is divided into five classes. The classes are class 0, which provides basic connectionless service, class 1, which provides sequenced connectionless service, class 2, which provides basic connection oriented service, class 3, which provides flow controlled connected oriented service, and class 4, which provides error recovery and flow controlled connection oriented service. Currently, classes 2, 3, and 4 are not used in telecommunications networks. Both class 0 and class 1 are used. Class 0 services provide for the basic transport of TCAP and other application layer messages when sequencing is not required. Class 1 is used to provide sequenced service whenever more than one SCCP message exists for a transaction.
SCCP processing can be performed at any node in a signaling network. Typically, SCCP routing functions, such as global title translation, are performed at signal transfer points (STPs). Performing SCCP routing at STPs allows service switching points to send messages to the STPs where the messages are global title translated and routed to their intended destinations. Because SCCP routing can be a processor-intensive application, it may be desirable to employ a distributed internal processing architecture to process SCCP messages. In such an architecture, a plurality of identically provisioned SCCP modules may process received SCCP messages. SCCP messages arriving at the STP may be load shared among the SCCP processing modules. Load sharing SCCP messages among SCCP processing modules decreases the processing load on individual modules and increases the throughput of the STP. However, load sharing cannot be performed for class 1 SCCP messages, which require sequencing, because load sharing such messages can result in the messages being transmitted out of order from the STP.
FIG. 1 illustrates misordering of SCCP messages by an STP with a distributed internal processing architecture. Referring to FIG. 1, STP 100 includes a plurality of link interface modules 102, a plurality of SCCP modules 104, and a counter-rotating, dual-ring bus 106. Link interface modules 102 interface with SS7 signaling links. SCCP modules 104 perform SCCP routing functions, such as global title translation.
In the illustrated example, SCCP messages 108, 110, and 112 are assumed to be class 1 SCCP messages relating to the same transaction. Accordingly, SCCP messages 108, 110, and 112 arrive at LIM 102. LIM 102 executes a load sharing algorithm that distributes the messages among SCCP modules 104 for processing. In the illustrated example, messages 108, 110, and 112 are assumed to arrive over high-speed links (e.g., SS7 over IP or ATM links) and are distributed to different SCCP modules. Due to different processing loads on SCCP modules 104, SCCP messages 108, 110, and 112 may be processed with different delays. For example, SCCP message 112 may be processed before SCCP message 110. Accordingly, SCCP message 112 may exit STP 102 before SCCP message 110. Because the SCCP class 1 messages are misordered, a processing error will occur at the destination node since there is no mechanism provided by SCCP for reordering the messages. Because of this problem with conventional load sharing algorithms, load sharing has not been performed for class 1 SCCP messages that requiring sequencing.
Accordingly, there exists a long felt need for methods and systems for processing sequenced SCCP messages in a manner that allows load sharing and that preserves message sequencing.